---
title: SAIF.Business.View.Provider database tables
summary: Database tables used by this library with relationships and usage context.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-08-21
library: SAIF.Business.View.Provider
reference_type: embedded
---

# SAIF.Business.View.Provider database tables

This page catalogs database tables accessed by this library. All access is read-only ([BR-DATA-001](business-rules.md#br-data-001-no-write-operations-are-supported)); no table listed below is ever created, updated, or deleted through this library.

## Table catalog

| Table | Database | Schema/Link | CRUD | Purpose | Primary business object |
| --- | --- | --- | --- | --- | --- |
| [PROVIDER](#provider) | Oracle | `[unqualified]**` | R | Provider aggregate root keyed by `PROVIDER_SEQ_NUM` | `clsProvider` |
| [PROVIDER_TAX_ID](#provider_tax_id) | Oracle | `[unqualified]**` | R | Tax-ID registrations for a provider, incl. W-9 dates and address | `clsProviderTaxID` |
| [PROVIDER_LOCATION](#provider_location) | Oracle | `[unqualified]**` | R | Provider location (firm or person site) | `clsProviderLocation` |
| [PROVIDER_ADDRESS](#provider_address) | Oracle | `[unqualified]**` | R | Provider-location address rows with effective/expiry dates | `clsProviderAddress` |
| [PROVIDER_INELIG_PERIOD](#provider_inelig_period) | Oracle | `[unqualified]**` | R | Ineligibility windows for a provider location | `clsProviderIneligibilityPeriod` |
| [PROVIDER_RELATIONSHIP](#provider_relationship) | Oracle | `[unqualified]**` | R | Parent/child provider-location relationships | `clsProviderRelationship` |
| [PROVIDER_TYPE_CODE](#provider_type_code) | Oracle | `[unqualified]**` | R | Provider type code lookup | `clsProviderType` |
| [PROVIDER_DCBS_COST_CHARGE](#provider_dcbs_cost_charge) | Oracle | `[unqualified]**` | R | DCBS cost-to-charge factors with date window | `clsDCBSCostCharge` |
| [MCO_PROVIDER](#mco_provider) | Oracle | `[unqualified]**` | R | MCO plan enrollments for a location | `clsMCOProvider` |
| [PROVIDER_SERVICE](#provider_service) | Oracle | `[unqualified]**` | R | Provider service-code assignments | `clsProviderServiceInfo` |
| [PROVIDER_SERVICE_CODE](#provider_service_code) | Oracle | `[unqualified]**` | R | Service code lookup joined to `PROVIDER_SERVICE` | `clsProviderServiceInfo` |
| [PROVIDER_SERVICE_CONTRACT](#provider_service_contract) | Oracle | `[unqualified]**` | R | Provider service contracts | `clsProviderServiceContractInfo` |
| [PROVIDER_IDENTITY](#provider_identity) | Oracle | `[unqualified]**` | R | Alternate provider identity values used by search | `clsProviderSearch` (search-only, no dedicated business object) |

## PROVIDER

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | `[unqualified]**` |
| **Purpose** | Provider aggregate root, retrieved by ID, primary tax ID, or as a set |
| **Access pattern** | Portal/criteria (`clsProvider.Criteria`, `clsProviderCollection.Criteria`) |
| **CRUD operations** | Read |
| **Key columns used** | `PROVIDER_SEQ_NUM`, `PRIMARY_TAX_ID` |
| **Sequence** | N/A |
| **Related tables** | `PROVIDER_TAX_ID` |
| **Business objects** | `clsProvider`, `clsProviderCollection` |

### Operations referencing this table
- [Retrieve a provider by ID or primary tax ID](operations/retrieve-provider-by-id-or-tax-id.md)
- [Retrieve a set of providers](operations/retrieve-provider-set.md)

### Business rules referencing this table
- [BR-PRV-001: Primary tax ID must be a 9-digit number](business-rules.md#br-prv-001-primary-tax-id-must-be-a-9-digit-number)
- [BR-PRV-003: Provider-set retrieval uses unparameterized SQL](business-rules.md#br-prv-003-provider-set-retrieval-uses-unparameterized-sql)
- [BR-PRV-004: Providers retrieved via factory methods are read-only](business-rules.md#br-prv-004-providers-retrieved-via-factory-methods-are-read-only)

### SQL referencing this table
- [SQL-PRV-01: Retrieve provider by ID or tax ID](sql/SQL-PRV-01-provider-by-id.md)
- [SQL-PRV-01b: Retrieve provider by primary tax ID](sql/SQL-PRV-01b-provider-by-tax-id.md)
- [SQL-PRV-02: Retrieve provider collection by tax-ID list](sql/SQL-PRV-02-provider-collection-by-taxid.md)
- [SQL-PRV-02b: Retrieve provider collection by caller WHERE clause](sql/SQL-PRV-02b-provider-collection-by-where.md)

---

## PROVIDER_TAX_ID

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | `[unqualified]**` |
| **Purpose** | Tax-ID registrations for a provider, used for payee-address resolution and search matching |
| **Access pattern** | Portal/criteria (`clsProviderTaxIDCollection.Criteria`); left-joined from `clsProvider.Criteria`; joined/unioned in search |
| **CRUD operations** | Read |
| **Key columns used** | `TAX_ID`, `PROVIDER_SEQ_NUM` |
| **Sequence** | N/A |
| **Related tables** | `PROVIDER`, `PROVIDER_LOCATION` |
| **Business objects** | `clsProviderTaxID`, `clsProviderTaxIDCollection` |

### Operations referencing this table
- [Retrieve a provider by ID or primary tax ID](operations/retrieve-provider-by-id-or-tax-id.md)
- [Load provider tax IDs](operations/load-provider-tax-ids.md)
- [Search for provider locations](operations/search-provider-locations.md)
- [Retrieve a set of providers](operations/retrieve-provider-set.md)

### Business rules referencing this table
- [BR-PRV-002: Payee address resolution order](business-rules.md#br-prv-002-payee-address-resolution-order)
- [BR-SRCH-005: Provider name search also matches registered names](business-rules.md#br-srch-005-provider-name-search-also-matches-registered-names)

### SQL referencing this table
- [SQL-PRV-01: Retrieve provider by ID or tax ID](sql/SQL-PRV-01-provider-by-id.md)
- [SQL-PRV-01b: Retrieve provider by primary tax ID](sql/SQL-PRV-01b-provider-by-tax-id.md)
- [SQL-PTAX-01: Retrieve provider tax IDs](sql/SQL-PTAX-01-provider-tax-ids.md)
- [SQL-SRCH-01: Provider search](sql/SQL-SRCH-01-provider-search.md)

---

## PROVIDER_LOCATION

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | `[unqualified]**` |
| **Purpose** | Provider location aggregate root; second retrieval root that back-navigates to its `Provider` |
| **Access pattern** | Portal/criteria (`clsProviderLocation.Criteria`, `clsProviderLocationCollection.Criteria`); joined from address, relationship, and search queries |
| **CRUD operations** | Read |
| **Key columns used** | `PROVIDER_LOCATION_SEQ_NUM`, `PROVIDER_SEQ_NUM`, `PROVIDER_TYPE_CODE` |
| **Sequence** | N/A |
| **Related tables** | `PROVIDER`, `PROVIDER_ADDRESS`, `PROVIDER_RELATIONSHIP`, `PROVIDER_TYPE_CODE`, `PROVIDER_IDENTITY`, `PROVIDER_SERVICE`, `MCO_PROVIDER`, `PROVIDER_INELIG_PERIOD`, `PROVIDER_DCBS_COST_CHARGE`, `PROVIDER_SERVICE_CONTRACT` |
| **Business objects** | `clsProviderLocation`, `clsProviderLocationCollection` |

### Operations referencing this table
- [Retrieve a provider location and its lazily-loaded graph](operations/retrieve-provider-location.md)
- [Retrieve provider locations by provider or by provider type](operations/retrieve-provider-locations-by-provider-or-type.md)
- [Load and select a provider-location address](operations/load-and-select-provider-address.md)
- [Load provider relationships (parents or children)](operations/load-provider-relationships.md)
- [Search for provider locations](operations/search-provider-locations.md)

### Business rules referencing this table
- [BR-PRV-006: Primary location selection](business-rules.md#br-prv-006-primary-location-selection)
- [BR-PLOC-001: Provider location ID must be positive](business-rules.md#br-ploc-001-provider-location-id-must-be-positive)
- [BR-PLOC-002: Provider ID must be positive](business-rules.md#br-ploc-002-provider-id-must-be-positive)
- [BR-PLOC-003: Provider type code must be non-empty](business-rules.md#br-ploc-003-provider-type-code-must-be-non-empty)
- [BR-PLOC-004: Ineligible locations are excluded from filtered lists](business-rules.md#br-ploc-004-ineligible-locations-are-excluded-from-filtered-lists)
- [BR-SRCH-004: Business/person selector maps to business flag](business-rules.md#br-srch-004-businessperson-selector-maps-to-business-flag)
- [BR-SRCH-007: Search results capped at 300 rows](business-rules.md#br-srch-007-search-results-capped-at-300-rows)

### SQL referencing this table
- [SQL-PLOC-01: Provider location by ID](sql/SQL-PLOC-01-provider-location-by-id.md)
- [SQL-PLOC-02: Locations by provider](sql/SQL-PLOC-02-locations-by-provider.md)
- [SQL-PLOC-03: Locations by provider type](sql/SQL-PLOC-03-locations-by-type.md)
- [SQL-PADR-01: Provider addresses](sql/SQL-PADR-01-provider-addresses.md)
- [SQL-PREL-01: Child relationships](sql/SQL-PREL-01-child-relationships.md)
- [SQL-PREL-02: Parent relationships](sql/SQL-PREL-02-parent-relationships.md)
- [SQL-SRCH-01: Provider search](sql/SQL-SRCH-01-provider-search.md)

---

## PROVIDER_ADDRESS

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | `[unqualified]**` |
| **Purpose** | Address rows for a provider location, with effective/termination dates and address type |
| **Access pattern** | Portal/criteria (`clsProviderAddress.RETRIEVE_SQL`, left join from `PROVIDER_LOCATION`); joined in search |
| **CRUD operations** | Read |
| **Key columns used** | `PROVIDER_LOCATION_SEQ_NUM` |
| **Sequence** | N/A |
| **Related tables** | `PROVIDER_LOCATION` |
| **Business objects** | `clsProviderAddress`, `clsProviderAddressCollection` |

### Operations referencing this table
- [Load and select a provider-location address](operations/load-and-select-provider-address.md)
- [Search for provider locations](operations/search-provider-locations.md)

### Business rules referencing this table
- [BR-PADR-001: Addresses without expiration default to Date.MaxValue](business-rules.md#br-padr-001-addresses-without-expiration-default-to-date-maxvalue)
- [BR-PADR-002: Address active-on-date determination](business-rules.md#br-padr-002-address-active-on-date-determination)

### SQL referencing this table
- [SQL-PADR-01: Provider addresses](sql/SQL-PADR-01-provider-addresses.md)
- [SQL-SRCH-01: Provider search](sql/SQL-SRCH-01-provider-search.md)

---

## PROVIDER_INELIG_PERIOD

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | `[unqualified]**` |
| **Purpose** | Ineligibility windows for a provider location |
| **Access pattern** | Portal/criteria (`clsProviderIneligibilityPeriod.Criteria`, `clsProviderIneligibilityPeriodCollection.Criteria`) |
| **CRUD operations** | Read |
| **Key columns used** | `PROVIDER_INELIG_PERIOD_SEQ_NUM`, `PROVIDER_LOCATION_SEQ_NUM` |
| **Sequence** | N/A |
| **Related tables** | `PROVIDER_LOCATION` |
| **Business objects** | `clsProviderIneligibilityPeriod`, `clsProviderIneligibilityPeriodCollection` |

### Operations referencing this table
- [Load provider ineligibility periods](operations/load-provider-ineligibility-periods.md)

### Business rules referencing this table
- [BR-PINE-001: Ineligibility periods without termination default to Date.MaxValue](business-rules.md#br-pine-001-ineligibility-periods-without-termination-default-to-date-maxvalue)
- [BR-PLOC-004: Ineligible locations are excluded from filtered lists](business-rules.md#br-ploc-004-ineligible-locations-are-excluded-from-filtered-lists)

### SQL referencing this table
- [SQL-PINE-01: Ineligibility period by ID](sql/SQL-PINE-01-ineligibility-period-by-id.md)
- [SQL-PINE-02: Ineligibility periods by location](sql/SQL-PINE-02-ineligibility-periods-by-location.md)

---

## PROVIDER_RELATIONSHIP

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | `[unqualified]**` |
| **Purpose** | Parent/child relationships between provider locations (self-referencing hierarchy) |
| **Access pattern** | Portal/criteria (`clsProviderRelationshipCollection.Criteria`, both directions); no standalone single-relationship retrieval |
| **CRUD operations** | Read |
| **Key columns used** | `PROVIDER_LOCATION_SEQ_NUM`, `PARENT_PROVIDER_LOC_SEQ_NUM` |
| **Sequence** | N/A |
| **Related tables** | `PROVIDER_LOCATION` |
| **Business objects** | `clsProviderRelationship`, `clsProviderRelationshipCollection` |

### Operations referencing this table
- [Load provider relationships (parents or children)](operations/load-provider-relationships.md)

### Business rules referencing this table
- [BR-PREL-001: Works-for relationships are WRK code](business-rules.md#br-prel-001-works-for-relationships-are-wrk-code)
- [BR-PREL-002: Works-for defaults to active relationships only](business-rules.md#br-prel-002-works-for-defaults-to-active-relationships-only)
- [BR-PREL-003: Relationship active-date determination](business-rules.md#br-prel-003-relationship-active-date-determination)
- [BR-PREL-004: Destination relationship type is the opposite of the source](business-rules.md#br-prel-004-destination-relationship-type-is-the-opposite-of-the-source)

### SQL referencing this table
- [SQL-PREL-01: Child relationships](sql/SQL-PREL-01-child-relationships.md)
- [SQL-PREL-02: Parent relationships](sql/SQL-PREL-02-parent-relationships.md)

---

## PROVIDER_TYPE_CODE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | `[unqualified]**` |
| **Purpose** | Provider type code lookup table |
| **Access pattern** | Portal/criteria (`clsProviderType.Criteria`, `clsProviderTypeCollection.Criteria`); joined in search |
| **CRUD operations** | Read |
| **Key columns used** | `CODE` |
| **Sequence** | N/A |
| **Related tables** | `PROVIDER_LOCATION` |
| **Business objects** | `clsProviderType`, `clsProviderTypeCollection` |

### Operations referencing this table
- [Load a provider type / all provider types](operations/load-provider-type.md)
- [Search for provider locations](operations/search-provider-locations.md)

### Business rules referencing this table
- [BR-PLOC-003: Provider type code must be non-empty](business-rules.md#br-ploc-003-provider-type-code-must-be-non-empty)

### SQL referencing this table
- [SQL-PTYP-01: Provider type by code](sql/SQL-PTYP-01-provider-type-by-code.md)
- [SQL-PTYP-02: All provider types](sql/SQL-PTYP-02-all-provider-types.md)
- [SQL-SRCH-01: Provider search](sql/SQL-SRCH-01-provider-search.md)

---

## PROVIDER_DCBS_COST_CHARGE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | `[unqualified]**` |
| **Purpose** | DCBS cost-to-charge factors with a date window, for a provider location |
| **Access pattern** | Direct-query (`clsDCBSCostChargeList` constructor via `SqlHelper.ResultSetQuery`) |
| **CRUD operations** | Read |
| **Key columns used** | `PROVIDER_LOCATION_SEQ_NUM` |
| **Sequence** | N/A |
| **Related tables** | `PROVIDER_LOCATION` (inferred*) |
| **Business objects** | `clsDCBSCostCharge`, `clsDCBSCostChargeList` |

### Operations referencing this table
- [Load DCBS cost-charge factors](operations/load-dcbs-cost-charge-factors.md)

### Business rules referencing this table
- [BR-DATE-001: Dated records are in effect within their date window](business-rules.md#br-date-001-dated-records-are-in-effect-within-their-date-window)

### SQL referencing this table
- [SQL-DCBS-01: DCBS cost charges](sql/SQL-DCBS-01-dcbs-cost-charges.md)

---

## MCO_PROVIDER

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | `[unqualified]**` |
| **Purpose** | MCO plan enrollments for a provider location |
| **Access pattern** | Direct-query (`clsMCOProviderList` constructor via `SqlHelper.ResultSetQuery`); optional join in search |
| **CRUD operations** | Read |
| **Key columns used** | `PROVIDER_LOCATION_SEQ_NUM`, `MCO_PLAN_ID` |
| **Sequence** | N/A |
| **Related tables** | `PROVIDER_LOCATION` |
| **Business objects** | `clsMCOProvider`, `clsMCOProviderList` |

### Operations referencing this table
- [Load MCO enrollments](operations/load-mco-enrollments.md)
- [Search for provider locations](operations/search-provider-locations.md)

### Business rules referencing this table
- [BR-MCO-001: MCO plan must match the assigned plan ID](business-rules.md#br-mco-001-mco-plan-must-match-the-assigned-plan-id)
- [BR-DATE-001: Dated records are in effect within their date window](business-rules.md#br-date-001-dated-records-are-in-effect-within-their-date-window)

### SQL referencing this table
- [SQL-MCO-01: MCO provider plans](sql/SQL-MCO-01-mco-provider-plans.md)
- [SQL-SRCH-01: Provider search](sql/SQL-SRCH-01-provider-search.md)

---

## PROVIDER_SERVICE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | `[unqualified]**` |
| **Purpose** | Provider service-code assignments for a provider location |
| **Access pattern** | Direct-query (`clsProviderServiceList` constructor, joined to `PROVIDER_SERVICE_CODE`); optional join in search |
| **CRUD operations** | Read |
| **Key columns used** | `PROVIDER_LOCATION_SEQ_NUM`, `PROVIDER_SERVICE_CODE` |
| **Sequence** | N/A |
| **Related tables** | `PROVIDER_SERVICE_CODE`, `PROVIDER_LOCATION` |
| **Business objects** | `clsProviderServiceInfo`, `clsProviderServiceList` |

### Operations referencing this table
- [Load provider services and service contracts](operations/load-provider-services-and-contracts.md)
- [Search for provider locations](operations/search-provider-locations.md)

### SQL referencing this table
- [SQL-PSVC-01: Provider services](sql/SQL-PSVC-01-provider-services.md)
- [SQL-SRCH-01: Provider search](sql/SQL-SRCH-01-provider-search.md)

---

## PROVIDER_SERVICE_CODE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | `[unqualified]**` |
| **Purpose** | Service code lookup joined to `PROVIDER_SERVICE` assignments |
| **Access pattern** | Direct-query (`clsProviderServiceList` constructor, comma join) |
| **CRUD operations** | Read |
| **Key columns used** | `CODE` |
| **Sequence** | N/A |
| **Related tables** | `PROVIDER_SERVICE` |
| **Business objects** | `clsProviderServiceInfo`, `clsProviderServiceList` |

### Operations referencing this table
- [Load provider services and service contracts](operations/load-provider-services-and-contracts.md)

### SQL referencing this table
- [SQL-PSVC-01: Provider services](sql/SQL-PSVC-01-provider-services.md)

---

## PROVIDER_SERVICE_CONTRACT

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | `[unqualified]**` |
| **Purpose** | Provider service contracts for a provider location, restricted by an expiry offset window |
| **Access pattern** | Direct-query (`clsProviderServiceContractList` constructor via `SqlHelper.ResultSetQuery`) |
| **CRUD operations** | Read |
| **Key columns used** | `PROVIDER_LOCATION_SEQ_NUM`, `eff_date`, `exp_date` |
| **Sequence** | N/A |
| **Related tables** | `PROVIDER_LOCATION` (inferred*) |
| **Business objects** | `clsProviderServiceContractInfo`, `clsProviderServiceContractList` |

### Operations referencing this table
- [Load provider services and service contracts](operations/load-provider-services-and-contracts.md)

### Business rules referencing this table
- [BR-PSVC-001: Service contracts are limited to the offset window](business-rules.md#br-psvc-001-service-contracts-are-limited-to-the-offset-window)
- [BR-MCO-001: MCO plan must match the assigned plan ID](business-rules.md#br-mco-001-mco-plan-must-match-the-assigned-plan-id)
- [BR-DATE-001: Dated records are in effect within their date window](business-rules.md#br-date-001-dated-records-are-in-effect-within-their-date-window)

### SQL referencing this table
- [SQL-PSVC-02: Provider service contracts](sql/SQL-PSVC-02-provider-service-contracts.md)

---

## PROVIDER_IDENTITY

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | `[unqualified]**` |
| **Purpose** | Alternate provider identity values, matched by the "other ID" search field |
| **Access pattern** | Direct-query, optional join (`clsProviderSearch.searchForProvider`) |
| **CRUD operations** | Read |
| **Key columns used** | `PROVIDER_LOCATION_SEQ_NUM`, `IDENTITY_VALUE` |
| **Sequence** | N/A |
| **Related tables** | `PROVIDER_LOCATION` |
| **Business objects** | `clsProviderSearch` (search-only; no dedicated business object) |

### Operations referencing this table
- [Search for provider locations](operations/search-provider-locations.md)

### SQL referencing this table
- [SQL-SRCH-01: Provider search](sql/SQL-SRCH-01-provider-search.md)

---

## Table relationship diagram

The following diagram shows relationships between tables used by this library, derived from join and filter predicates in the SQL text (no foreign-key constraint DDL is present in the repository).**

```mermaid
erDiagram
    PROVIDER ||--o{ PROVIDER_TAX_ID : "PRIMARY_TAX_ID = TAX_ID"
    PROVIDER ||--o{ PROVIDER_LOCATION : "PROVIDER_SEQ_NUM (inferred)"
    PROVIDER_LOCATION ||--o{ PROVIDER_TAX_ID : "PROVIDER_SEQ_NUM"
    PROVIDER_LOCATION ||--o{ PROVIDER_ADDRESS : "PROVIDER_LOCATION_SEQ_NUM"
    PROVIDER_LOCATION ||--o{ PROVIDER_RELATIONSHIP : "PROVIDER_LOCATION_SEQ_NUM"
    PROVIDER_LOCATION ||--o{ PROVIDER_RELATIONSHIP : "PARENT_PROVIDER_LOC_SEQ_NUM (self-referencing)"
    PROVIDER_TYPE_CODE ||--o{ PROVIDER_LOCATION : "CODE = PROVIDER_TYPE_CODE"
    PROVIDER_LOCATION ||--o{ PROVIDER_IDENTITY : "PROVIDER_LOCATION_SEQ_NUM"
    PROVIDER_LOCATION ||--o{ PROVIDER_SERVICE : "PROVIDER_LOCATION_SEQ_NUM"
    PROVIDER_LOCATION ||--o{ MCO_PROVIDER : "PROVIDER_LOCATION_SEQ_NUM"
    PROVIDER_SERVICE_CODE ||--o{ PROVIDER_SERVICE : "CODE = PROVIDER_SERVICE_CODE"
    PROVIDER_LOCATION ||--o{ PROVIDER_INELIG_PERIOD : "PROVIDER_LOCATION_SEQ_NUM (inferred)"
    PROVIDER_LOCATION ||--o{ PROVIDER_DCBS_COST_CHARGE : "PROVIDER_LOCATION_SEQ_NUM (inferred)"
    PROVIDER_LOCATION ||--o{ PROVIDER_SERVICE_CONTRACT : "PROVIDER_LOCATION_SEQ_NUM (inferred)"
    PROVIDER {
        NUMBER PROVIDER_SEQ_NUM PK
        VARCHAR2 PRIMARY_TAX_ID
    }
    PROVIDER_TAX_ID {
        NUMBER PROVIDER_SEQ_NUM FK
        VARCHAR2 TAX_ID
    }
    PROVIDER_LOCATION {
        NUMBER PROVIDER_LOCATION_SEQ_NUM PK
        NUMBER PROVIDER_SEQ_NUM FK
        VARCHAR2 PROVIDER_TYPE_CODE FK
    }
    PROVIDER_ADDRESS {
        NUMBER PROVIDER_LOCATION_SEQ_NUM FK
    }
    PROVIDER_RELATIONSHIP {
        NUMBER PROVIDER_LOCATION_SEQ_NUM FK
        NUMBER PARENT_PROVIDER_LOC_SEQ_NUM FK
    }
    PROVIDER_TYPE_CODE {
        VARCHAR2 CODE PK
    }
    PROVIDER_IDENTITY {
        NUMBER PROVIDER_LOCATION_SEQ_NUM FK
    }
    PROVIDER_SERVICE {
        NUMBER PROVIDER_LOCATION_SEQ_NUM FK
        VARCHAR2 PROVIDER_SERVICE_CODE FK
    }
    MCO_PROVIDER {
        NUMBER PROVIDER_LOCATION_SEQ_NUM FK
        VARCHAR2 MCO_PLAN_ID
    }
    PROVIDER_SERVICE_CODE {
        VARCHAR2 CODE PK
    }
    PROVIDER_INELIG_PERIOD {
        NUMBER PROVIDER_LOCATION_SEQ_NUM FK
    }
    PROVIDER_DCBS_COST_CHARGE {
        NUMBER PROVIDER_LOCATION_SEQ_NUM FK
    }
    PROVIDER_SERVICE_CONTRACT {
        NUMBER PROVIDER_LOCATION_SEQ_NUM FK
    }
```

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [SQL catalog](sql/index.md)
- [API reference](api/index.md)

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `SAIF.Business.View.Provider/clsProvider.vb`
- `SAIF.Business.View.Provider/clsProviderCollection.vb`
- `SAIF.Business.View.Provider/clsProviderLocation.vb`
- `SAIF.Business.View.Provider/clsProviderLocationCollection.vb`
- `SAIF.Business.View.Provider/clsProviderAddress.vb`
- `SAIF.Business.View.Provider/clsProviderAddressCollection.vb`
- `SAIF.Business.View.Provider/clsProviderRelationship.vb`
- `SAIF.Business.View.Provider/clsProviderRelationshipCollection.vb`
- `SAIF.Business.View.Provider/clsProviderIneligibilityPeriod.vb`
- `SAIF.Business.View.Provider/clsProviderIneligibilityPeriodCollection.vb`
- `SAIF.Business.View.Provider/clsProviderTaxID.vb`
- `SAIF.Business.View.Provider/clsProviderTaxIDCollection.vb`
- `SAIF.Business.View.Provider/clsProviderType.vb`
- `SAIF.Business.View.Provider/clsProviderTypeCollection.vb`
- `SAIF.Business.View.Provider/clsProviderSearch.vb`
- `SAIF.Business.View.Provider/clsDCBSCostCharge.vb`
- `SAIF.Business.View.Provider/clsMCOProvider.vb`
- `SAIF.Business.View.Provider/clsProviderServices.vb`
- `SAIF.Business.View.Provider/clsProviderServiceContract.vb`
